const zhHant = {
  common: {
    login: '登入',
    logout: '登出',
    accountOptions: '帳戶選項',
    account: '帳戶',
    email: '電子郵件',
    password: '密碼',
    welcome: '歡迎回到 LangBot 👋',
    continueToLogin: '登入以繼續',
    loginSuccess: '登入成功',
    loginFailed: '登入失敗，請檢查電子郵件和密碼是否正確',
    enterEmail: '輸入電子郵件地址',
    enterPassword: '輸入密碼',
    invalidEmail: '請輸入有效的電子郵件地址',
    emptyPassword: '請輸入密碼',
    language: '語言',
    helpDocs: '輔助說明',
    create: '建立',
    edit: '編輯',
    delete: '刪除',
    add: '新增',
    select: '請選擇',
    cancel: '取消',
    submit: '提交',
    error: '錯誤',
    success: '成功',
    save: '儲存',
    saving: '儲存中...',
    confirm: '確認',
    confirmDelete: '確認刪除',
    deleteConfirmation: '您確定要刪除這個嗎？',
    selectOption: '選擇一個選項',
    required: '必填',
    enable: '是否啟用',
    name: '名稱',
    description: '描述',
    close: '關閉',
    deleteSuccess: '刪除成功',
    deleteError: '刪除失敗：',
    addRound: '新增回合',
    copy: '複製',
    copySuccess: '複製成功',
    test: '測試',
    forgotPassword: '忘記密碼？',
    loading: '載入中...',
    theme: '主題',
    changePassword: '修改密碼',
    currentPassword: '當前密碼',
    newPassword: '新密碼',
    confirmNewPassword: '確認新密碼',
    enterCurrentPassword: '輸入當前密碼',
    enterNewPassword: '輸入新密碼',
    enterConfirmPassword: '確認新密碼',
    currentPasswordRequired: '當前密碼不能為空',
    newPasswordRequired: '新密碼不能為空',
    confirmPasswordRequired: '確認密碼不能為空',
    passwordsDoNotMatch: '兩次輸入的密碼不一致',
    changePasswordSuccess: '密碼修改成功',
    changePasswordFailed: '密碼修改失敗，請檢查當前密碼是否正確',
    apiIntegration: 'API 整合',
    apiKeys: 'API 金鑰',
    manageApiIntegration: '管理 API 整合',
    manageApiKeys: '管理 API 金鑰',
    createApiKey: '建立 API 金鑰',
    apiKeyName: 'API 金鑰名稱',
    apiKeyDescription: 'API 金鑰描述',
    apiKeyValue: 'API 金鑰值',
    apiKeyCreated: 'API 金鑰建立成功',
    apiKeyDeleted: 'API 金鑰刪除成功',
    apiKeyDeleteConfirm: '確定要刪除此 API 金鑰嗎？',
    apiKeyNameRequired: 'API 金鑰名稱不能為空',
    copyApiKey: '複製 API 金鑰',
    apiKeyCopied: 'API 金鑰已複製到剪貼簿',
    noApiKeys: '暫無 API 金鑰',
    apiKeyHint: 'API 金鑰允許外部系統訪問 LangBot 的 Service API',
    webhooks: 'Webhooks',
    createWebhook: '建立 Webhook',
    webhookName: 'Webhook 名稱',
    webhookUrl: 'Webhook URL',
    webhookDescription: 'Webhook 描述',
    webhookEnabled: '是否啟用',
    webhookCreated: 'Webhook 建立成功',
    webhookDeleted: 'Webhook 刪除成功',
    webhookDeleteConfirm: '確定要刪除此 Webhook 嗎？',
    webhookNameRequired: 'Webhook 名稱不能為空',
    webhookUrlRequired: 'Webhook URL 不能為空',
    noWebhooks: '暫無 Webhook',
    webhookHint: 'Webhook 允許 LangBot 將個人訊息和群組訊息事件推送到外部系統',
    actions: '操作',
    apiKeyCreatedMessage: '請複製此 API 金鑰。',
  },
  notFound: {
    title: '頁面不存在',
    description:
      '您要查詢的頁面似乎不存在。請檢查您輸入的 URL 是否正確，或返回首頁。',
    back: '上一級',
    home: '返回主頁',
    help: '查看說明文件',
  },
  models: {
    title: '模型設定',
    description: '設定和管理可在流程線中使用的模型',
    createModel: '建立模型',
    editModel: '編輯模型',
    getModelListError: '取得模型清單失敗：',
    modelName: '模型名稱',
    modelProvider: '模型供應商',
    modelBaseURL: '基礎 URL',
    modelAbilities: '模型能力',
    saveSuccess: '儲存成功',
    saveError: '儲存失敗：',
    createSuccess: '建立成功',
    createError: '建立失敗：',
    deleteSuccess: '刪除成功',
    deleteError: '刪除失敗：',
    deleteConfirmation: '您確定要刪除這個模型嗎？',
    modelNameRequired: '模型名稱不能為空',
    modelProviderRequired: '模型供應商不能為空',
    requestURLRequired: '請求URL不能為空',
    apiKeyRequired: 'API Key不能為空',
    keyNameRequired: '鍵名不能為空',
    mustBeValidNumber: '必須是有效的數字',
    mustBeTrueOrFalse: '必須是 true 或 false',
    requestURL: '請求URL',
    apiKey: 'API Key',
    abilities: '能力',
    selectModelAbilities: '選擇模型能力',
    visionAbility: '視覺能力',
    functionCallAbility: '函數呼叫',
    extraParameters: '額外參數',
    addParameter: '新增參數',
    keyName: '鍵名',
    type: '類型',
    value: '值',
    string: '字串',
    number: '數字',
    boolean: '布林值',
    selectModelProvider: '選擇模型供應商',
    modelProviderDescription: '請填寫供應商向您提供的模型名稱',
    modelManufacturer: '模型廠商',
    aggregationPlatform: '中轉平台',
    selfDeployed: '自部署',
    selectModel: '請選擇模型',
    testSuccess: '測試成功',
    testError: '測試失敗，請檢查模型設定',
    llmModels: '對話模型',
  },
  bots: {
    title: '機器人',
    description: '建立和管理機器人，這是 LangBot 與各個平台連接的入口',
    createBot: '建立機器人',
    editBot: '編輯機器人',
    getBotListError: '取得機器人清單失敗：',
    botName: '機器人名稱',
    botDescription: '機器人描述',
    botNameRequired: '機器人名稱不能為空',
    botDescriptionRequired: '機器人描述不能為空',
    adapterRequired: '適配器不能為空',
    defaultDescription: '一個機器人',
    getBotConfigError: '取得機器人設定失敗：',
    saveSuccess: '儲存成功',
    saveError: '儲存失敗：',
    createSuccess: '建立成功 請啟用或修改綁定流程線',
    createError: '建立失敗：',
    deleteSuccess: '刪除成功',
    deleteError: '刪除失敗：',
    deleteConfirmation: '您確定要刪除這個機器人嗎？',
    platformAdapter: '平台/適配器選擇',
    selectAdapter: '選擇適配器',
    adapterConfig: '適配器設定',
    bindPipeline: '綁定流程線',
    selectPipeline: '選擇流程線',
    selectBot: '請選擇機器人',
    botLogTitle: '機器人日誌',
    enableAutoRefresh: '開啟自動重新整理',
    session: '對話',
    yesterday: '昨天',
    earlier: '更久之前',
    dateFormat: '{{month}}月{{day}}日',
    setBotEnableError: '設定機器人啟用狀態失敗',
    log: '日誌',
    configuration: '設定',
    logs: '日誌',
  },
  plugins: {
    title: '外掛擴展',
    description: '安裝和設定用於擴展功能的外掛，請在流程線配置中選用',
    createPlugin: '建立外掛',
    editPlugin: '編輯外掛',
    installed: '已安裝',
    marketplace: 'Marketplace',
    arrange: '編排',
    install: '安裝',
    installFromGithub: '來自 GitHub',
    onlySupportGithub: '目前僅支援從 GitHub 安裝',
    enterGithubLink: '請輸入外掛的Github連結',
    installing: '正在安裝外掛...',
    installSuccess: '外掛安裝成功',
    installFailed: '外掛安裝失敗：',
    searchPlugin: '搜尋外掛',
    sortBy: '排序方式',
    mostStars: '最多星標',
    recentlyAdded: '最近新增',
    recentlyUpdated: '最近更新',
    noMatchingPlugins: '沒有找到符合的外掛',
    loading: '載入中...',
    getPluginListError: '取得外掛清單失敗:',
    pluginConfig: '外掛設定',
    noPluginInstalled: '暫未安裝任何外掛',
    pluginSort: '外掛排序',
    pluginSortDescription:
      '外掛順序會影響同一事件內的處理順序，請拖曳外掛卡片排序',
    pluginSortSuccess: '外掛排序成功',
    pluginSortError: '外掛排序失敗：',
    pluginNoConfig: '外掛沒有設定項目。',
    systemDisabled: '外掛系統未啟用',
    systemDisabledDesc: '尚未啟用外掛系統，請根據文檔修改配置',
    connectionError: '外掛系統連接異常',
    connectionErrorDesc: '請檢查外掛系統配置或聯絡管理員',
    errorDetails: '錯誤詳情',
    loadingStatus: '正在檢查外掛系統狀態...',
    failedToGetStatus: '取得外掛系統狀態失敗',
    pluginSystemNotReady: '外掛系統未就緒，無法執行此操作',
    deleting: '刪除中...',
    deletePlugin: '刪除外掛',
    cancel: '取消',
    saveConfig: '儲存設定',
    saving: '儲存中...',
    confirmDeletePlugin: '您確定要刪除外掛（{{author}}/{{name}}）嗎？',
    deleteDataCheckbox: '同時刪除外掛設定和持久化儲存',
    confirmDelete: '確認刪除',
    deleteError: '刪除失敗：',
    close: '關閉',
    deleteConfirm: '刪除確認',
    modifyFailed: '修改失敗：',
    componentName: {
      Tool: '工具',
      EventListener: '事件監聽器',
      Command: '命令',
    },
    uploadLocal: '本地上傳',
    debugging: '調試中',
    uploadLocalPlugin: '上傳本地插件',
    dragToUpload: '拖拽文件到此處上傳',
    unsupportedFileType: '不支持的文件類型，僅支持 .lbpkg 和 .zip 文件',
    uploadingPlugin: '正在上傳插件...',
    uploadSuccess: '上傳成功',
    uploadFailed: '上傳失敗',
    selectFileToUpload: '選擇要上傳的插件文件',
    askConfirm: '確定要安裝插件 "{{name}}" ({{version}}) 嗎？',
    fromGithub: '來自 GitHub',
    fromLocal: '本地安裝',
    fromMarketplace: '來自市場',
    componentsList: '組件: ',
    noComponents: '無組件',
    delete: '刪除插件',
    update: '更新插件',
    updateConfirm: '更新確認',
    confirmUpdatePlugin: '您確定要更新插件（{{author}}/{{name}}）嗎？',
    confirmUpdate: '確認更新',
    updating: '更新中...',
    updateSuccess: '插件更新成功',
    updateError: '更新失敗：',
    saveConfigSuccessNormal: '儲存配置成功',
    saveConfigSuccessDebugPlugin: '儲存配置成功，請手動重啟插件',
    saveConfigError: '儲存配置失敗：',
    fileUpload: {
      tooLarge: '檔案大小超過 10MB 限制',
      success: '檔案上傳成功',
      failed: '檔案上傳失敗',
      uploading: '上傳中...',
      chooseFile: '選擇檔案',
      addFile: '新增檔案',
    },
    enterRepoUrl: '請輸入 GitHub 倉庫地址',
    repoUrlPlaceholder: '例如: https://github.com/owner/repo',
    fetchingReleases: '正在獲取 Release 列表...',
    selectRelease: '選擇 Release',
    noReleasesFound: '未找到 Release',
    fetchReleasesError: '獲取 Release 列表失敗：',
    selectAsset: '選擇要安裝的文件',
    noAssetsFound: '該 Release 沒有可用的 .lbpkg 文件',
    fetchAssetsError: '獲取文件列表失敗：',
    backToReleases: '返回 Release 列表',
    backToRepoUrl: '返回倉庫地址',
    backToAssets: '返回文件選擇',
    releaseTag: 'Tag: {{tag}}',
    releaseName: '名稱: {{name}}',
    publishedAt: '發佈於: {{date}}',
    prerelease: '預發佈',
    assetSize: '大小: {{size}}',
    confirmInstall: '確認安裝',
    installFromGithubDesc: '從 GitHub Release 安裝插件',
  },
  market: {
    searchPlaceholder: '搜尋插件...',
    searchResults: '搜尋到 {{count}} 個插件',
    totalPlugins: '共 {{count}} 個插件',
    noPlugins: '暫無插件',
    noResults: '未找到相關插件',
    loadingMore: '載入更多...',
    loading: '載入中...',
    allLoaded: '已顯示全部插件',
    install: '安裝',
    installConfirm: '確定要安裝插件 "{{name}}" ({{version}}) 嗎？',
    downloadComplete: '插件 "{{name}}" 下載完成',
    installFailed: '安裝失敗，請稍後重試',
    loadFailed: '取得插件列表失敗，請稍後重試',
    noDescription: '暫無描述',
    notFound: '插件資訊未找到',
    sortBy: '排序方式',
    sort: {
      recentlyAdded: '最近新增',
      recentlyUpdated: '最近更新',
      mostDownloads: '最多下載',
      leastDownloads: '最少下載',
    },
    downloads: '次下載',
    download: '下載',
    repository: '代碼倉庫',
    downloadFailed: '下載失敗',
    noReadme: '該插件沒有提供 README 文件',
    description: '描述',
    tags: '標籤',
    submissionTitle: '您有插件提交正在審核中： {{name}}',
    submissionApproved: '您的插件提交已通過審核： {{name}}',
    submissionRejected: '您的插件提交已被拒絕： {{name}}',
    clickToRevoke: '撤回',
    revokeSuccess: '撤回成功',
    revokeFailed: '撤回失敗',
    submissionDetails: '插件提交詳情',
    markAsRead: '已讀',
    markAsReadSuccess: '已標記為已讀',
    markAsReadFailed: '標記為已讀失敗',
  },
  mcp: {
    title: 'MCP',
    createServer: '新增MCP伺服器',
    editServer: '編輯MCP伺服器',
    deleteServer: '刪除MCP伺服器',
    confirmDeleteServer: '您確定要刪除此MCP伺服器嗎？',
    confirmDeleteTitle: '刪除MCP伺服器',
    getServerListError: '取得MCP伺服器清單失敗：',
    serverName: '伺服器名稱',
    serverMode: '連接模式',
    stdio: 'Stdio模式',
    sse: 'SSE模式',
    noServerInstalled: '暫未設定任何MCP伺服器',
    serverNameRequired: '伺服器名稱不能為空',
    commandRequired: '命令不能為空',
    urlRequired: 'URL不能為空',
    timeoutMustBePositive: '逾時時間必須是正數',
    command: '命令',
    args: '參數',
    env: '環境變數',
    url: 'URL位址',
    headers: '請求標頭',
    timeout: '逾時時間',
    addArgument: '新增參數',
    addEnvVar: '新增環境變數',
    addHeader: '新增請求標頭',
    keyName: '鍵名',
    value: '值',
    testing: '測試中...',
    connecting: '連接中...',
    testSuccess: '測試成功',
    testFailed: '刷新失敗：',
    testError: '刷新出錯',
    refreshSuccess: '刷新成功',
    refreshFailed: '刷新失敗：',
    connectionSuccess: '連接成功',
    connectionFailed: '連接失敗，請檢查URL',
    connectionFailedStatus: '連接失敗',
    toolsFound: '個工具',
    unknownError: '未知錯誤',
    noToolsFound: '未找到任何工具',
    parseResultFailed: '解析測試結果失敗',
    noResultReturned: '測試未返回結果',
    getTaskFailed: '獲取任務狀態失敗',
    noTaskId: '未獲取到任務ID',
    deleteSuccess: '刪除成功',
    deleteFailed: '刪除失敗：',
    deleteError: '刪除失敗：',
    saveSuccess: '儲存成功',
    saveError: '儲存失敗：',
    createSuccess: '建立成功',
    createFailed: '建立失敗：',
    createError: '建立失敗：',
    loadFailed: '載入失敗',
    modifyFailed: '修改失敗：',
    toolCount: '工具：{{count}}',
    statusConnected: '已開啟',
    statusDisconnected: '未開啟',
    statusError: '連接錯誤',
    statusDisabled: '已停用',
    loading: '載入中...',
    starCount: '星標：{{count}}',
    install: '安裝',
    installFromGithub: '從Github安裝MCP伺服器',
    add: '新增',
    name: '名稱',
    nameRequired: '名稱不能為空',
    sseTimeout: 'SSE逾時時間',
    sseTimeoutDescription: '用於建立SSE連接的逾時時間',
    extraParametersDescription: '額外參數，用於設定MCP伺服器的特定行為',
    timeoutMustBeNumber: '逾時時間必須是數字',
    timeoutNonNegative: '逾時時間不能為負數',
    sseTimeoutMustBeNumber: 'SSE逾時時間必須是數字',
    sseTimeoutNonNegative: 'SSE逾時時間不能為負數',
    updateSuccess: '更新成功',
    updateFailed: '更新失敗：',
  },
  pipelines: {
    title: '流程線',
    description: '流程線定義了對訊息事件的處理流程，用於綁定到機器人',
    createPipeline: '建立流程線',
    editPipeline: '編輯流程線',
    chat: '對話',
    configuration: '設定',
    debugChat: '對話除錯',
    getPipelineListError: '取得流程線清單失敗：',
    daysAgo: '天前',
    today: '今天',
    updateTime: '更新於',
    defaultBadge: '預設',
    sortBy: '排序方式',
    newestCreated: '最新建立',
    earliestCreated: '最早建立',
    recentlyEdited: '最近編輯',
    earliestEdited: '最早編輯',
    basicInfo: '基本資訊',
    aiCapabilities: 'AI 能力',
    triggerConditions: '觸發條件',
    safetyControls: '安全控制',
    outputProcessing: '輸出處理',
    nameRequired: '名稱不能為空',
    descriptionRequired: '描述不能為空',
    createSuccess: '建立成功 請編輯流程線詳細參數',
    createError: '建立失敗：',
    saveSuccess: '儲存成功',
    saveError: '儲存失敗：',
    copySuffix: ' Copy',
    deleteConfirmation:
      '您確定要刪除這個流程線嗎？已綁定此流程線的機器人將無法使用。',
    defaultPipelineCannotDelete: '預設流程線不可刪除',
    deleteSuccess: '刪除成功',
    deleteError: '刪除失敗：',
    extensions: {
      title: '擴展集成',
      loadError: '載入插件清單失敗',
      saveSuccess: '儲存成功',
      saveError: '儲存失敗',
      noPluginsAvailable: '暫無可用插件',
      disabled: '已停用',
      noPluginsSelected: '未選擇任何插件',
      addPlugin: '新增插件',
      selectPlugins: '選擇插件',
      pluginsTitle: '插件',
      mcpServersTitle: 'MCP 伺服器',
      noMCPServersSelected: '未選擇任何 MCP 伺服器',
      addMCPServer: '新增 MCP 伺服器',
      selectMCPServers: '選擇 MCP 伺服器',
      toolCount: '{{count}} 個工具',
      noPluginsInstalled: '無已安裝的插件',
      noMCPServersConfigured: '無已配置的 MCP 伺服器',
    },
    debugDialog: {
      title: '流程線對話',
      selectPipeline: '選擇流程線',
      sessionType: '對話類型',
      privateChat: '私聊',
      groupChat: '群聊',
      send: '傳送',
      reset: '重設對話',
      inputPlaceholder: '傳送 {{type}} 訊息...',
      noMessages: '暫無訊息',
      userMessage: '使用者',
      botMessage: '機器人',
      sendFailed: '傳送失敗',
      resetSuccess: '對話已重設',
      resetFailed: '重設失敗',
      loadMessagesFailed: '載入訊息失敗',
      loadPipelinesFailed: '載入流程線失敗',
      atTips: '提及機器人',
    },
  },
  knowledge: {
    title: '知識庫',
    createKnowledgeBase: '建立知識庫',
    editKnowledgeBase: '編輯知識庫',
    selectKnowledgeBase: '選擇知識庫',
    selectKnowledgeBases: '選擇知識庫',
    addKnowledgeBase: '新增知識庫',
    noKnowledgeBaseSelected: '未選擇知識庫',
    empty: '無',
    editDocument: '文檔',
    description: '設定可用於提升模型回覆品質的知識庫',
    metadata: '中繼資料',
    documents: '文檔',
    kbNameRequired: '知識庫名稱不能為空',
    kbDescriptionRequired: '知識庫描述不能為空',
    embeddingModelUUIDRequired: '嵌入模型不能為空',
    daysAgo: '天前',
    today: '今天',
    kbName: '知識庫名稱',
    kbDescription: '知識庫描述',
    topK: '召回數量 ',
    topKRequired: '召回數量不能為空',
    topKMax: '召回數量最大值為30',
    topKdescription: '取得相關性高的上位 K 件文獻的數量，範圍為1～30',
    defaultDescription: '一個知識庫',
    embeddingModelUUID: '嵌入模型',
    selectEmbeddingModel: '選擇嵌入模型',
    embeddingModelDescription: '用於向量化文字，可在模型設定頁面設定',
    updateTime: '更新於',
    cannotChangeEmbeddingModel: '知識庫建立後不可修改嵌入模型',
    updateKnowledgeBaseSuccess: '知識庫更新成功',
    updateKnowledgeBaseFailed: '知識庫更新失敗',
    documentsTab: {
      name: '名稱',
      status: '狀態',
      noResults: '暫無文件',
      dragAndDrop: '拖曳文檔到此處或點擊上傳',
      uploading: '上傳中...',
      supportedFormats: '支援 PDF、Word、TXT、Markdown 等文檔格式',
      uploadSuccess: '文檔上傳成功！',
      uploadError: '文檔上傳失敗，請重試',
      uploadingFile: '上傳文檔中...',
      fileSizeExceeded: '檔案大小超過 10MB 限制，請分割成較小的檔案後上傳',
      actions: '操作',
      delete: '刪除文檔',
      fileDeleteSuccess: '文檔刪除成功',
      fileDeleteFailed: '文檔刪除失敗',
      processing: '處理中',
      completed: '完成',
      failed: '失敗',
    },
    deleteKnowledgeBaseConfirmation:
      '您確定要刪除這個知識庫嗎？此知識庫下的所有文檔將被刪除。',
    retrieve: '檢索測試',
    retrieveTest: '檢索測試',
    query: '查詢',
    queryPlaceholder: '輸入查詢內容...',
    distance: '距離',
    content: '內容',
    fileName: '文檔名稱',
    noResults: '暫無結果',
    retrieveError: '檢索失敗',
  },
  register: {
    title: '初始化 LangBot 👋',
    description: '這是您首次啟動 LangBot',
    adminAccountNote: '您填寫的電子郵件和密碼將作為初始管理員帳號',
    register: '註冊',
    initSuccess: '初始化成功 請登入',
    initFailed: '初始化失敗：',
  },
  resetPassword: {
    title: '重設密碼 🔐',
    description: '輸入恢復金鑰和新的密碼來重設您的帳戶密碼',
    recoveryKey: '恢復金鑰',
    recoveryKeyDescription:
      '儲存在設定檔案`data/config.yaml`的`system.recovery_key`中',
    newPassword: '新密碼',
    enterRecoveryKey: '輸入恢復金鑰',
    enterNewPassword: '輸入新密碼',
    recoveryKeyRequired: '恢復金鑰不能為空',
    newPasswordRequired: '新密碼不能為空',
    resetPassword: '重設密碼',
    resetting: '重設中...',
    resetSuccess: '密碼重設成功，請登入',
    resetFailed: '密碼重設失敗，請檢查電子郵件和恢復金鑰是否正確',
    backToLogin: '返回登入',
  },
  embedding: {
    description: '管理嵌入模型，用於向量化文字',
    createModel: '建立嵌入模型',
    editModel: '編輯嵌入模型',
    getModelListError: '取得嵌入模型清單失敗：',
    embeddingModels: '嵌入模型',
    extraParametersDescription:
      '將在請求時附加到請求體中，如 encoding_format, dimensions 等',
  },
  llm: {
    llmModels: '對話模型',
    description: '管理 LLM 模型，用於對話訊息產生',
    extraParametersDescription:
      '將在請求時附加到請求體中，如 max_tokens, temperature, top_p 等',
  },
};

export default zhHant;
